package 无重复字符的最大子串.src;

public class Main {
    public int lengthOfLongestSubstring(String s) {
        int[] hash=new int[128]; //数组模拟哈希表
        char[] sc=s.toCharArray();
        int n=s.length(),max=0,l=0,r=0;
        while(r<n){
            hash[sc[r]]++;   //进入窗口
            while(hash[sc[r]]>1){ //查重
                hash[sc[l++]]--;  //出窗口
            }
            max=Math.max(max,r-l+1); //更新结果
            r++; //让下一个字符进入窗口
        }
        return max;
    }
}
